Segment Routing (SR) is a packet forwarding technology based on source routing. A variety of use-cases for SR have been described in I-D.filsfils-rtgwg-segment-routing-use-cases, which is hereby incorporated by reference. An abstract routing model for SR is described in I-D.filsfils-rtgwg-segment-routing, which is hereby incorporated by reference. Reference I-D.filsfils-rtgwg-segment-routing describes the instantiation of SR using Internet Protocol version 6 (IPv6) or Multiprotocol Label Switching (MPLS). The IPv6 instantiation is proposed using extensions with a new identifier (ID) space for segment identifiers (SIDs). The MPLS instantiation, however, is intended to co-exist with the label space used by dynamic MPLS label distribution protocols such as Label Distribution Protocol (LDP) and RSVP-TE. The architecture for the SR-MPLS is further described in I-D.gredler-spring-mpls, which is hereby incorporated by reference.
SR-MPLS uses MPLS labels as SIDs and they are allocated from a global block, herein referred to as Segment Routing Global Block (SRGB). The allocation of SIDs from the SRGB is described in I-D.filsfils-rtgwg-segment-routing, which is hereby incorporated by reference. I-D.psenak-ospf-segment-routing-extensions proposes that the advertisement of the labels as SIDs is performed using an Interior Gateway Protocol (IGP) such as Open Shortest Path First (OSPF). I-D.previdi-isis-segment-routing-extensions proposes that the advertisement of the labels as SIDs is performed using an Intermediate System to Intermediate System (IS-IS) protocol. I-D.psenak-ospf-segment-routing-extensions and I-D.previdi-isis-segment-routing-extensions are both hereby incorporated by reference. As described by these references, each label switch router (LSR) can independently advertise the label block that it is using for segment routing. I-D.psenak-ospf-segment-routing-extensions discloses that SID Range sub-TLV MUST appear only once and hence only a single block can be advertised for SR. I-D.previdi-isis-segment-routing-extensions discloses that SR-Capabilities sub-TLV MAY occur multiple times. I-D.previdi-isis-segment-routing-extensions fails to disclose, however, how multiple occurrences should be interpreted by the receiving LSR other than disclosing that only the Flags in the first occurrence of the SR-Capabilities sub-TLV are to be taken into account. Thus, there is no method currently available to scale the number of labels beyond the range of the first block. Further, there is no method currently available to dynamically allocate multiple blocks, increase, decrease, or coalesce multiple blocks.